Computing systems have become ubiquitous, ranging from small embedded devices to phones and tablets to PCs and backend servers. Each of these computing systems is designed to process software code. The software allows users to perform functions, interacting with the hardware provided by the computing system. In some cases, these computing systems allow users to establish login sessions with servers that provide private information for authenticated users. These login sessions may use artifacts that allow the sessions to remain alive for long periods of time, after which the session will expire and the user will be asked to re-authenticate. If an attacker determines a user's login credentials, the attacker may have a long window in which those credentials are valid, even if the breach in security is detected relatively quickly.